Skip to content

Restructure repo#704

Merged
jade-codes merged 8 commits intomainfrom
restructure-repo
Jan 26, 2026
Merged

Restructure repo#704
jade-codes merged 8 commits intomainfrom
restructure-repo

Conversation

@jade-codes
Copy link
Copy Markdown
Owner

This pull request primarily removes several internal developer instruction and checklist files from the .github/instructions directory, and updates documentation to reflect recent repository restructuring and improvements to submodule handling. The changes streamline project onboarding and maintenance by reducing duplication and outdated guidance, and by clarifying the new project structure.

Documentation and Configuration Cleanup:

  • Deleted .github/instructions/chore.md, .github/instructions/configuration.md, and .github/instructions/copilot-instructions.md, removing internal checklists, configuration guidelines, and Rust development instructions that are now either redundant or out of date. [1] [2] [3]

Repository Structure and Onboarding Documentation Updates:

  • Updated .github/copilot-instructions.md to reflect the new repository structure, replacing references to the old crates/ and editors/vscode/ directories with the new top-level submodules (e.g., base/, cli/, language-server/, language-client/, etc.), and clarified where the SysML standard library is located. [1] [2]

Dev Container Improvements:

  • Modified .devcontainer/devcontainer.json to forcibly deinitialize all submodules before re-initializing them, improving consistency for contributors setting up the development environment.## Description

jade-codes and others added 8 commits January 21, 2026 10:38
BREAKING CHANGE: Repository structure completely reorganized

Old structure:
- crates/syster-base, crates/syster-cli, crates/syster-lsp
- editors/vscode-lsp, editors/vscode-modeller, editors/vscode-viewer
- packages/diagram-core, packages/diagram-ui

New structure:
- core/               (syster-base)
- cli/                (syster-cli)
- lsp/server/         (syster-lsp)
- lsp/vscode/         (vscode-lsp extension)
- modeller/core/      (diagram-core)
- modeller/ui/        (diagram-ui)
- modeller/vscode/    (vscode-modeller extension)
- viewer/vscode/      (vscode-viewer extension)

Benefits:
- Feature grouping: related components are together
- Clearer organization: LSP server + extension in same folder
- No more awkward nesting (crates/syster-lsp/crates/syster-lsp)

Updated:
- Cargo.toml workspace configuration
- package.json workspaces
- devcontainer.json paths
- README.md documentation
- copilot-instructions.md
- Renamed core/ to base/
- Moved lsp/server to language-server/
- Moved lsp/vscode to language-client/
- Moved modeller/vscode to modeller/
- Moved viewer/vscode to viewer/
- Moved modeller/core to diagram-core/
- Moved modeller/ui to diagram-ui/
- Removed root-level Cargo.toml, package.json, bun.lock
- Updated CI workflow to validate structure
- Updated release workflow to collect all artifacts
- Updated README and copilot-instructions
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings January 26, 2026 13:26
@jade-codes jade-codes merged commit fc2b42b into main Jan 26, 2026
5 of 6 checks passed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures the repository from a nested crates/ and editors/ directory structure to a flat, feature-based organization with top-level submodules. It also removes outdated internal documentation and improves the dev container setup.

Changes:

  • Migrated submodules from nested paths (crates/syster-*, editors/vscode-*, packages/diagram-*) to flat top-level directories (base/, cli/, language-server/, etc.)
  • Removed obsolete internal instruction files (chore.md, configuration.md, copilot-instructions.md, etc.)
  • Updated documentation to reflect the new repository structure
  • Enhanced dev container initialization to force-deinitialize submodules before re-initializing

Reviewed changes

Copilot reviewed 32 out of 33 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.gitmodules Updated submodule paths from nested to flat structure
README.md Updated architecture diagram, directory structure, and build instructions to reflect new layout
.github/copilot-instructions.md Updated repository structure documentation and standard library path references
.devcontainer/devcontainer.json Added forced submodule deinitialization before initialization and removed postCreateCommand
.github/workflows/ci.yml Changed validation from Cargo.toml check to directory existence validation
.github/workflows/release.yml Enhanced artifact collection and release notes with VS Code extensions and npm packages
Various submodule files Removed old submodule references and added new ones
package.json, Cargo.toml Removed meta-repository configuration files
.github/instructions/*.md Removed internal instruction files
.github/workflows/copilot-auto-retry.yml Removed auto-retry workflow

},
"initializeCommand": "git submodule update --init --recursive",
"postCreateCommand": "rustc --version && cargo --version && git submodule update --init --recursive && cd editors/vscode-lsp && npm install && cd ../.. && ([ -d packages/diagram-core ] && cd packages/diagram-core && bun install || true) && ([ -d packages/diagram-ui ] && cd packages/diagram-ui && bun install || true)",
"initializeCommand": "git submodule deinit -f --all 2>/dev/null || true && git submodule update --init --recursive",
Copy link

Copilot AI Jan 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The --all flag for git submodule deinit does not exist. The command should use -f (force) without --all. To deinitialize all submodules, you can use git submodule deinit -f . or simply git submodule foreach --recursive git submodule deinit -f.

Suggested change
"initializeCommand": "git submodule deinit -f --all 2>/dev/null || true && git submodule update --init --recursive",
"initializeCommand": "git submodule deinit -f . 2>/dev/null || true && git submodule update --init --recursive",

Copilot uses AI. Check for mistakes.
jade-codes added a commit that referenced this pull request Feb 3, 2026
* refactor: reorganize to feature-based structure

BREAKING CHANGE: Repository structure completely reorganized

Old structure:
- crates/syster-base, crates/syster-cli, crates/syster-lsp
- editors/vscode-lsp, editors/vscode-modeller, editors/vscode-viewer
- packages/diagram-core, packages/diagram-ui

New structure:
- core/               (syster-base)
- cli/                (syster-cli)
- lsp/server/         (syster-lsp)
- lsp/vscode/         (vscode-lsp extension)
- modeller/core/      (diagram-core)
- modeller/ui/        (diagram-ui)
- modeller/vscode/    (vscode-modeller extension)
- viewer/vscode/      (vscode-viewer extension)

Benefits:
- Feature grouping: related components are together
- Clearer organization: LSP server + extension in same folder
- No more awkward nesting (crates/syster-lsp/crates/syster-lsp)

Updated:
- Cargo.toml workspace configuration
- package.json workspaces
- devcontainer.json paths
- README.md documentation
- copilot-instructions.md

* refactor: restructure repo - rename core to base, flatten submodules

- Renamed core/ to base/
- Moved lsp/server to language-server/
- Moved lsp/vscode to language-client/
- Moved modeller/vscode to modeller/
- Moved viewer/vscode to viewer/
- Moved modeller/core to diagram-core/
- Moved modeller/ui to diagram-ui/
- Removed root-level Cargo.toml, package.json, bun.lock
- Updated CI workflow to validate structure
- Updated release workflow to collect all artifacts
- Updated README and copilot-instructions

* fix: update devcontainer postCreateCommand path

* fix: remove postCreateCommand from devcontainer

* Update .github/copilot-instructions.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update .github/copilot-instructions.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* docs: add architecture diagram to README

* chore: update pipelines submodule to latest

---------

Co-authored-by: Jade Wilson <jade_@LAPTOP-TB2FDPJ4.localdomain>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
jade-codes added a commit that referenced this pull request Feb 3, 2026
* refactor: reorganize to feature-based structure

BREAKING CHANGE: Repository structure completely reorganized

Old structure:
- crates/syster-base, crates/syster-cli, crates/syster-lsp
- editors/vscode-lsp, editors/vscode-modeller, editors/vscode-viewer
- packages/diagram-core, packages/diagram-ui

New structure:
- core/               (syster-base)
- cli/                (syster-cli)
- lsp/server/         (syster-lsp)
- lsp/vscode/         (vscode-lsp extension)
- modeller/core/      (diagram-core)
- modeller/ui/        (diagram-ui)
- modeller/vscode/    (vscode-modeller extension)
- viewer/vscode/      (vscode-viewer extension)

Benefits:
- Feature grouping: related components are together
- Clearer organization: LSP server + extension in same folder
- No more awkward nesting (crates/syster-lsp/crates/syster-lsp)

Updated:
- Cargo.toml workspace configuration
- package.json workspaces
- devcontainer.json paths
- README.md documentation
- copilot-instructions.md

* refactor: restructure repo - rename core to base, flatten submodules

- Renamed core/ to base/
- Moved lsp/server to language-server/
- Moved lsp/vscode to language-client/
- Moved modeller/vscode to modeller/
- Moved viewer/vscode to viewer/
- Moved modeller/core to diagram-core/
- Moved modeller/ui to diagram-ui/
- Removed root-level Cargo.toml, package.json, bun.lock
- Updated CI workflow to validate structure
- Updated release workflow to collect all artifacts
- Updated README and copilot-instructions

* fix: update devcontainer postCreateCommand path

* fix: remove postCreateCommand from devcontainer

* Update .github/copilot-instructions.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update .github/copilot-instructions.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* docs: add architecture diagram to README

* chore: update pipelines submodule to latest

---------

Co-authored-by: jade-codes <jade_@LAPTOP-TB2FDPJ4.localdomain>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
jade-codes added a commit that referenced this pull request Feb 3, 2026
* refactor: reorganize to feature-based structure

BREAKING CHANGE: Repository structure completely reorganized

Old structure:
- crates/syster-base, crates/syster-cli, crates/syster-lsp
- editors/vscode-lsp, editors/vscode-modeller, editors/vscode-viewer
- packages/diagram-core, packages/diagram-ui

New structure:
- core/               (syster-base)
- cli/                (syster-cli)
- lsp/server/         (syster-lsp)
- lsp/vscode/         (vscode-lsp extension)
- modeller/core/      (diagram-core)
- modeller/ui/        (diagram-ui)
- modeller/vscode/    (vscode-modeller extension)
- viewer/vscode/      (vscode-viewer extension)

Benefits:
- Feature grouping: related components are together
- Clearer organization: LSP server + extension in same folder
- No more awkward nesting (crates/syster-lsp/crates/syster-lsp)

Updated:
- Cargo.toml workspace configuration
- package.json workspaces
- devcontainer.json paths
- README.md documentation
- copilot-instructions.md

* refactor: restructure repo - rename core to base, flatten submodules

- Renamed core/ to base/
- Moved lsp/server to language-server/
- Moved lsp/vscode to language-client/
- Moved modeller/vscode to modeller/
- Moved viewer/vscode to viewer/
- Moved modeller/core to diagram-core/
- Moved modeller/ui to diagram-ui/
- Removed root-level Cargo.toml, package.json, bun.lock
- Updated CI workflow to validate structure
- Updated release workflow to collect all artifacts
- Updated README and copilot-instructions

* fix: update devcontainer postCreateCommand path

* fix: remove postCreateCommand from devcontainer

* Update .github/copilot-instructions.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update .github/copilot-instructions.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* docs: add architecture diagram to README

* chore: update pipelines submodule to latest

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants